import java.util.HashMap;
import java.util.Map;


public class Define {

	/**
	 * Map<人物等级, 初始状态>
	 */
	private static Map<Integer, OriginalState> originalStateMap = new HashMap<Integer, OriginalState>();
	
	// Map<宝石等级, 宝石附加值>
	private static Map<Integer, Integer> attackStoneValueMap = new HashMap<Integer, Integer>();
	private static Map<Integer, Integer> defenseStoneValueMap = new HashMap<Integer, Integer>();
	private static Map<Integer, Integer> speedStoneValueMap = new HashMap<Integer, Integer>();
	private static Map<Integer, Integer> hpStoneValueMap = new HashMap<Integer, Integer>();
	
	static {
		originalStateMap.put( 1, new OriginalState(160,  90, 120, 580));
		originalStateMap.put(10, new OriginalState(165,  93, 124, 597));
		originalStateMap.put(20, new OriginalState(170,  95, 127, 615));
		originalStateMap.put(30, new OriginalState(176,  99, 132, 638));
		originalStateMap.put(40, new OriginalState(181, 102, 136, 655));
		originalStateMap.put(50, new OriginalState(186, 104, 139, 673));
		originalStateMap.put(60, new OriginalState(192, 108, 144, 696));
		originalStateMap.put(70, new OriginalState(197, 111, 148, 713));
		originalStateMap.put(80, new OriginalState(202, 113, 151, 731));
		originalStateMap.put(90, new OriginalState(208, 117, 156, 754));
		originalStateMap.put(99, new OriginalState(213, 120, 160, 771));
		
		attackStoneValueMap.put( 6, 180);
		attackStoneValueMap.put( 7, 210);
		attackStoneValueMap.put( 8, 240);
		attackStoneValueMap.put( 9, 270);
		attackStoneValueMap.put(10, 300);
		attackStoneValueMap.put(11, 330);
		attackStoneValueMap.put(12, 360);
		
		defenseStoneValueMap.put( 6, 102);
		defenseStoneValueMap.put( 7, 119);
		defenseStoneValueMap.put( 8, 136);
		defenseStoneValueMap.put( 9, 153);
		defenseStoneValueMap.put(10, 170);
		defenseStoneValueMap.put(11, 187);
		defenseStoneValueMap.put(12, 204);
		
		speedStoneValueMap.put( 6, 120);
		speedStoneValueMap.put( 7, 140);
		speedStoneValueMap.put( 8, 160);
		speedStoneValueMap.put( 9, 180);
		speedStoneValueMap.put(10, 200);
		speedStoneValueMap.put(11, 220);
		speedStoneValueMap.put(12, 240);
		
		hpStoneValueMap.put( 6,  654);
		hpStoneValueMap.put( 7,  763);
		hpStoneValueMap.put( 8,  872);
		hpStoneValueMap.put( 9,  981);
		hpStoneValueMap.put(10, 1090);
		hpStoneValueMap.put(11, 1199);
		hpStoneValueMap.put(12, 1308);
	}
	
	public static OriginalState getOriginalState(int playerLevel) {
		return originalStateMap.get(playerLevel);
	}
	
	public static int getAttackStoneValue(int stoneLevel) {
		return attackStoneValueMap.get(stoneLevel);
	}
	public static int getDefenseStoneValue(int stoneLevel) {
		return defenseStoneValueMap.get(stoneLevel);
	}
	public static int getSpeedStoneValue(int stoneLevel) {
		return speedStoneValueMap.get(stoneLevel);
	}
	public static int getHpStoneValue(int stoneLevel) {
		return hpStoneValueMap.get(stoneLevel);
	}
}
